package com.project.service.gradeService;

import com.github.pagehelper.PageInfo;
import com.project.bean.GradeBean;
import com.project.bean.RoleBean;

import java.util.List;

/**
 * 角色业务接口
 */
public interface IRoleService {
    public int PAGESIZE=3;

    /**
     * 查找所有角色
     * @return 角色分页对象
     */
    public PageInfo<RoleBean> findAll(int pageNO);
    public List<RoleBean> findAllRole();

    /**
     * 添加新角色，同时填充权限集合
     * @param roleBean 角色对象
     */
    public void add(RoleBean roleBean, int[] gradeId);

    /**
     * 根据id删除角色，先删除角色和权限中间表，再删除角色和用户中间表，最后删除该角色
     * @param id 角色id
     */
    public void del(int id);

    /**
     * 根据角色id查找角色
     * @param id 角色id
     * @return 角色对象
     */
    public RoleBean findById(int id);

    /**
     * 修改角色权限，先删除角色和权限中间表，在添加新的角色和权限中间表
     * @param id 角色id
     * @param gradeId 权限数组
     */
    public void update(int id, int[] gradeId);

    /**
     * 查找角色的权限
     * @param roleId 角色数组
     * @return 权限集合
     */
    public List<GradeBean> findGrade(int[] roleId);
}
